<?php
/**
 * 装饰器基类
 * 2019年12月10日16:47:48
 */
namespace Application\Common\Decorator;

class BaseDecorator
{
    // 被装饰的类
    private $decoratored;
    // 构造函数
    public function __construct($decoratored=null)
    {
        $this -> decoratored = $decoratored;
    }
    // 设置被装饰类
    public function setDecoratored($decoratored)
    {
        $this -> decoratored = $decoratored;
    }
    // 装饰位点：装饰器的方法 与 被装饰器的方法 同名
    public function display()
    {
        if($this -> decoratored == null){
            return false;
        }
        $this -> decoratored -> display();
        return true;
    }
}
